package com.xzz;

/**
 * @author 黄会准
 * @since 2020-11-17
 */

/**
 * 桌上有 n 堆力扣币，每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆，拿走其中的一枚或者两枚，求拿完所有力扣币的最少次数。
 * <p>
 * 示例 1：
 * <p>
 * 输入：[4,2,1]
 * <p>
 * 输出：4
 * <p>
 * 解释：第一堆力扣币最少需要拿 2 次，第二堆最少需要拿 1 次，第三堆最少需要拿 1 次，总共 4 次即可拿完。
 * <p>
 * 示例 2：
 * <p>
 * 输入：[2,3,10]
 * <p>
 * 输出：8
 */
public class MinCount {
    public static void main(String[] args) {
        System.out.println(minCount(new int[]{4, 2, 1}));
        System.out.println(minCount(new int[]{2, 3, 10}));
    }

    public static int minCount(int[] coins) {
        int result = 0;
        for (int i = 0; i < coins.length; i++) {
            result+=coins[i]%2+coins[i]/2;
        }
        return result;
    }
}
